package entity

import (
	"go.mongodb.org/mongo-driver/bson/primitive"
)

type GameCardRoleOrder struct {
	Id         primitive.ObjectID `bson:"_id,omitempty" json:"id,omitempty"`
	GameID     uint               `bson:"game_id" json:"game_id"`       //游戏id
	UID        uint               `bson:"uid" json:"uid"`               //用户id
	RoleID     uint               `bson:"roleID" json:"roleID"`         //角色id
	RoleName   string             `bson:"roleName" json:"roleName"`     //角色名称
	RoleImg    string             `bson:"roleImg" json:"roleImg"`       //角色图
	RoleAvatar string             `bson:"roleAvatar" json:"roleAvatar"` //橘色头像
	TypeID     uint               `bson:"typeID" json:"typeID"`         //花费类型id
	TypeName   string             `bson:"typeName" json:"typeName"`     //花费类型名称
	TypeImg    string             `bson:"typeImg" json:"typeImg"`       //花费类型图片
	TypeModule string             `bson:"typeModule" json:"typeModule"` //花费类型模块
	Price      int64              `bson:"price" json:"price"`           //花费数量
	PayTime    string             `bson:"payTime" json:"payTime"`       //购买时间
}

type GameCardRoleUse struct {
	Id      primitive.ObjectID `bson:"_id,omitempty" json:"id,omitempty"`
	GameID  uint               `bson:"game_id" json:"game_id"` //游戏id
	UID     uint               `bson:"uid" json:"uid"`         //用户id
	RoleID  uint               `bson:"roleID" json:"roleID"`   //角色id
	AddTime string             `bson:"addTime" json:"addTime"` //使用角色时间
}

type GameCardExchange struct {
	Id         primitive.ObjectID `bson:"_id,omitempty" json:"id,omitempty"`
	GameID     uint               `bson:"game_id" json:"game_id"`       //游戏id
	UID        uint               `bson:"uid" json:"uid"`               //用户id
	Types      int                `bson:"types" json:"types"`           //1星金|星源兑换游戏币,2游戏币兑换星金|星源
	TypeID     uint               `bson:"typeID" json:"typeID"`         //类型id
	TypeName   string             `bson:"typeName" json:"typeName"`     //类型名称
	TypeImg    string             `bson:"typeImg" json:"typeImg"`       //类型图片
	TypeModule string             `bson:"typeModule" json:"typeModule"` //类型模块
	Count      int64              `bson:"count" json:"count"`           //次数
	Num        int64              `bson:"num" json:"num"`               //数量
	AddTime    string             `bson:"addTime" json:"addTime"`       //兑换时间
}

type GameCardRoomLog struct {
	Id         primitive.ObjectID `bson:"_id,omitempty" json:"id,omitempty"`
	UID        uint               `bson:"uid" json:"uid"`               //用户id
	RoomID     string             `bson:"roomID" json:"roomID"`         //房间id
	TypeID     uint               `bson:"typeID" json:"typeID"`         //类型id
	TypeName   string             `bson:"typeName" json:"typeName"`     //类型名称
	TypeImg    string             `bson:"typeImg" json:"typeImg"`       //类型图片
	TypeModule string             `bson:"typeModule" json:"typeModule"` //类型模块
	Num        int64              `bson:"num" json:"num"`               //数量
	Ranking    int                `bson:"ranking" json:"ranking"`       //名次
	Dates      string             `bson:"dates" json:"dates"`
	AddTime    string             `bson:"addTime" json:"addTime"` //添加时间
}

type GameCardLog struct {
	Id               primitive.ObjectID `bson:"_id,omitempty" json:"id,omitempty"`
	UID              uint               `bson:"uid" json:"uid"`                           //用户id
	RoomID           string             `bson:"roomID" json:"roomID"`                     //房间id
	Ranking          int                `bson:"ranking" json:"ranking"`                   //名次
	Blood            int64              `bson:"blood" json:"blood"`                       //血量
	Level            int64              `bson:"level" json:"level"`                       //等级
	ChairID          int                `bson:"chairID" json:"chairID"`                   //座位号
	IsSkill          bool               `bson:"isSkill" json:"isSkill"`                   //是否开启技能
	SkillType        int                `bson:"skillType" json:"skillType"`               //技能类型
	HandCards        any                `bson:"handCards" json:"handCards"`               //手牌
	SiteCards        any                `bson:"siteCards" json:"siteCards"`               //场地牌
	Battle           any                `bson:"battle" json:"battle"`                     //战斗记录
	IntegralTypeID   uint               `bson:"integralTypeID" json:"integralTypeID"`     //积分类型id
	IntegralTypeName string             `bson:"integralTypeName" json:"integralTypeName"` //积分类型名称
	IntegralTypeImg  string             `bson:"integralTypeImg" json:"integralTypeImg"`   //积分类型图片
	Integral         int64              `bson:"integral" json:"integral"`                 //积分
	Rands            int64              `bson:"rands" json:"rands"`                       //随机数
	DebrisTypeID     uint               `bson:"debrisTypeID" json:"debrisTypeID"`         //碎片类型id
	DebrisTypeName   string             `bson:"debrisTypeName" json:"debrisTypeName"`     //碎片类型名称
	DebrisTypeImg    string             `bson:"debrisTypeImg" json:"debrisTypeImg"`       //碎片类型图片
	Debris           int64              `bson:"debris" json:"debris"`                     //碎片数量
	RewardTypeID     uint               `bson:"rewardTypeID" json:"rewardTypeID"`         //奖励类型id
	RewardTypeName   string             `bson:"rewardTypeName" json:"rewardTypeName"`     //奖励类型名称
	RewardTypeImg    string             `bson:"rewardTypeImg" json:"rewardTypeImg"`       //奖励类型图片
	RewardNum        int64              `bson:"rewardNum" json:"rewardNum"`               //奖励数量
	IsHangUp         bool               `bson:"isHangUp" json:"isHangUp"`                 //是否挂机
	Dates            string             `bson:"dates" json:"dates"`                       //日期
	Status           bool               `bson:"status" json:"status"`                     //是否完成
	IsEnd            bool               `bson:"isEnd" json:"isEnd"`                       //是否结束
	AddTime          string             `bson:"addTime" json:"addTime"`                   //添加时间
	//RandsReward    []GameCardRandsReward `bson:"randsReward" json:"randsReward"`       //随机奖励
}

type GameCardRandsReward struct {
	TypeID     uint   `bson:"typeID" json:"typeID"`         //类型id
	TypeName   string `bson:"typeName" json:"typeName"`     //类型名称
	TypeImg    string `bson:"typeImg" json:"typeImg"`       //类型图片
	TypeModule string `bson:"typeModule" json:"typeModule"` //类型模块
	Num        int64  `bson:"num" json:"num"`               //数量
}

type GameFleeRoomBetting struct {
	Id                    primitive.ObjectID    `bson:"_id,omitempty" json:"id,omitempty"`
	UID                   uint                  `bson:"uid" json:"uid"`                                     //用户id
	RoomID                uint                  `bson:"roomID" json:"roomID"`                               //房间id
	RoomName              string                `bson:"roomName" json:"roomName"`                           //房间名
	Rounds                int64                 `bson:"rounds" json:"rounds"`                               //回合数
	TypeID                uint                  `bson:"typeID" json:"typeID"`                               //类型id
	TypeName              string                `bson:"typeName" json:"typeName"`                           //类型名称
	TypeImg               string                `bson:"typeImg" json:"typeImg"`                             //类型图片
	TypeModule            string                `bson:"typeModule" json:"typeModule"`                       //类型模块
	Num                   int64                 `bson:"num" json:"num"`                                     //数量
	ReturnNum             int64                 `bson:"returnNum" json:"returnNum"`                         //退回金额
	Reward                int64                 `bson:"reward" json:"reward"`                               //奖励
	Rands                 int64                 `bson:"rands" json:"rands"`                                 //随机数
	RandsReward           []GameCardRandsReward `bson:"randsReward" json:"randsReward"`                     //随机奖励
	IsKill                bool                  `bson:"isKill" json:"isKill"`                               //是否被杀
	Status                int                   `bson:"status" json:"status"`                               //0未开奖 1已开奖
	IsDecline             bool                  `bson:"isDecline" json:"isDecline"`                         //是否是衰神
	DeclineRewardTypeID   uint                  `bson:"declineRewardTypeID" json:"declineRewardTypeID"`     //衰神奖励类型id
	DeclineRewardTypeName string                `bson:"declineRewardTypeName" json:"declineRewardTypeName"` //衰神奖励类型名称
	DeclineRewardTypeImg  string                `bson:"declineRewardTypeImg" json:"declineRewardTypeImg"`   //衰神奖励类型图片
	DeclineReward         int64                 `bson:"declineReward" json:"declineReward"`                 //衰神奖励
	IsRobot               bool                  `bson:"isRobot" json:"isRobot"`                             //是否是机器人
	Dates                 string                `bson:"dates" json:"dates"`                                 //添加日期
	AddTime               string                `bson:"addTime" json:"addTime"`                             //添加时间
}

type GameFleeKillRoom struct {
	Id        primitive.ObjectID `bson:"_id,omitempty" json:"id,omitempty"`
	RoomID    uint               `bson:"roomID" json:"roomID"`       //房间id
	RoomName  string             `bson:"roomName" json:"roomName"`   //房间名
	Rounds    int64              `bson:"rounds" json:"rounds"`       //回合数
	KillNum   int64              `bson:"killNum" json:"killNum"`     //被杀金币数
	KillCount int64              `bson:"killCount" json:"killCount"` //被杀人数
	KillTime  string             `bson:"killTime" json:"killTime"`   //杀时间
	AddTime   string             `bson:"addTime" json:"addTime"`     //添加时间
}
